package com.mz.mattress.api.entity;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.NumberFormat;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.baomidou.mybatisplus.annotation.TableName;
import com.mz.mattress.api.common.BaseEntity;
import lombok.Data;

@Data
@TableName("mz_member_cash_out_order")
public class MemberCashOutOrder extends BaseEntity {

    @NumberFormat(value = "#")
    @ColumnWidth(10)
    @ExcelProperty(value = "序号", index = 0)
    private Integer id;

    //会员id
    @NumberFormat(value = "#")
    @ColumnWidth(20)
    @ExcelProperty(value = "会员id", index = 1)
    private Long memberId;

    //会员名
    @ColumnWidth(20)
    @ExcelProperty(value = "会员名", index = 2)
    private String name;

    //会员手机号
    @NumberFormat(value = "#")
    @ColumnWidth(20)
    @ExcelProperty(value = "会员手机号", index = 3)
    private String mobile;

    //类型 0平台 1商家 2销售 3子销售 4投资商
    @ColumnWidth(15)
    @ExcelProperty(value = "角色", index = 4)
    private Integer type;

    //提现请求号 uuid
    private String cashId;

    private String mchId;

    //appId
    private String appId;

    //openId
    private String openId;

    //state  SUCCESS成功
    @ColumnWidth(20)
    @ExcelProperty(value = "状态", index = 5)
    private String state;

    //实际到账提现金额 分
    @NumberFormat(value = "#")
    @ColumnWidth(20)
    @ExcelProperty(value = "实际到账提现金额 分", index = 6)
    private String transferAmount;

    //微信流水号
    private String transferBillNo;

    //提现金额，含手续费  分
    @NumberFormat(value = "#")
    @ColumnWidth(20)
    @ExcelProperty(value = "提现金额，含手续费  分", index = 7)
    private Integer amount;

    //手续费 分
    @NumberFormat(value = "#")
    @ColumnWidth(20)
    @ExcelProperty(value = "手续费 分", index = 8)
    private Integer fee;

    //是否完成 0未完成 1已完成
    private Integer done;

    /**
     * 【失败原因】 订单已失败或者已退资金时，返回失败原因
     */
    private String failReason;

    /**
     * 【收款用户姓名】 收款方真实姓名。支持标准RSA算法和国密算法，公钥由微信侧提供转账金额 >= 2,000元时，该笔明细必须填写若商户传入收款用户姓名，微信支付会校验用户OpenID与姓名是否一致，并提供电子回单
     */
    private String userName;

}
